Add some friendly messages to libcxx calls to abort(). git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@186951 91177308-0d34-0410-b5e6-96231b3b80d8 
diff --git a/src/exception.cpp b/src/exception.cpp index 1d2f6b2..d3e1b29 100644 --- a/src/exception.cpp +++ b/src/exception.cpp 
@@ -7,6 +7,7 @@  //  //===----------------------------------------------------------------------===//  #include <stdlib.h> +#include <stdio.h>    #include "exception"   @@ -88,12 +89,14 @@  #endif // _LIBCPP_NO_EXCEPTIONS  (*get_terminate())();  // handler should not return + printf("terminate_handler unexpectedly returned\n");  ::abort ();  #ifndef _LIBCPP_NO_EXCEPTIONS  }  catch (...)  {  // handler should not throw exception + printf("terminate_handler unexpectedly threw an exception\n");  ::abort ();  }  #endif // _LIBCPP_NO_EXCEPTIONS @@ -109,6 +112,7 @@  return __cxa_uncaught_exception();  #else // __APPLE__  #warning uncaught_exception not yet implemented + printf("uncaught_exception not yet implemented\n");  ::abort();  #endif // __APPLE__  } @@ -146,6 +150,7 @@  __cxa_decrement_exception_refcount(__ptr_);  #else  #warning exception_ptr not yet implemented + printf("exception_ptr not yet implemented\n");  ::abort();  #endif // __APPLE__  } @@ -157,6 +162,7 @@  __cxa_increment_exception_refcount(__ptr_);  #else  #warning exception_ptr not yet implemented + printf("exception_ptr not yet implemented\n");  ::abort();  #endif // __APPLE__  } @@ -173,6 +179,7 @@  return *this;  #else // __APPLE__  #warning exception_ptr not yet implemented + printf("exception_ptr not yet implemented\n");  ::abort();  #endif // __APPLE__  } @@ -207,6 +214,7 @@  return ptr;  #else // __APPLE__  #warning exception_ptr not yet implemented + printf("exception_ptr not yet implemented\n");  ::abort();  #endif // __APPLE__  } @@ -220,6 +228,7 @@  terminate();  #else // __APPLE__  #warning exception_ptr not yet implemented + printf("exception_ptr not yet implemented\n");  ::abort();  #endif // __APPLE__  } 
diff --git a/src/locale.cpp b/src/locale.cpp index 47c4061..bf95732 100644 --- a/src/locale.cpp +++ b/src/locale.cpp 
@@ -31,6 +31,7 @@  #include <langinfo.h>  #endif // _!WIN32  #include <stdlib.h> +#include <stdio.h>    // On Linux, wint_t and wchar_t have different signed-ness, and this causes  // lots of noise in the build log, but no bugs that I know of.  @@ -1017,6 +1018,7 @@  // Platform not supported: abort so the person doing the port knows what to  // fix  # warning ctype<char>::classic_table() is not implemented + printf("ctype<char>::classic_table() is not implemented\n");  abort();  return NULL;  #endif 
diff --git a/src/string.cpp b/src/string.cpp index c6fe408..daed7d2 100644 --- a/src/string.cpp +++ b/src/string.cpp 
@@ -16,6 +16,7 @@  #ifdef _WIN32  #include "support/win32/support.h"  #endif // _WIN32 +#include <stdio.h>    _LIBCPP_BEGIN_NAMESPACE_STD   @@ -38,6 +39,7 @@  #ifndef _LIBCPP_NO_EXCEPTIONS  throw T( msg );  #else + printf("%s\n", msg.c_str());  abort();  #endif  }